πŸ•ΈοΈ Ada Research Browser

quickstart.md
← Back

Quickstart: CI/CD Pipeline and Living Dashboard

Feature: 005-ci-cd-dashboard Date: 2026-02-15

CI Deploy Nightly

Overview

This guide covers setup and verification of the CI/CD pipeline and living dashboard for the rcd-cui project.

Prerequisites

Setup Steps

1. Enable GitHub Pages

  1. Navigate to repository Settings β†’ Pages
  2. Under "Build and deployment":
  3. Source: Deploy from a branch
  4. Branch: gh-pages / / (root)
  5. Click Save

Note: The gh-pages branch will be created automatically by the first successful deployment workflow.

2. Verify Workflows Exist

Ensure these files are present in the repository:

.github/workflows/
β”œβ”€β”€ ci.yml         # PR validation
β”œβ”€β”€ deploy.yml     # Merge-to-main deployment
└── nightly.yml    # Scheduled assessment

3. Configure Branch Protection

Automated option (recommended for reproducibility):

# From repository root
./scripts/configure_branch_protection.sh --repo kcaylor/rcd-cui --branch main

Manual option:

  1. Navigate to repository Settings β†’ Branches
  2. Click Add branch protection rule
  3. Branch name pattern: main
  4. Enable:
  5. [x] Require a pull request before merging
    • [x] Require approvals: 1
  6. [x] Require status checks to pass before merging
    • [x] Require branches to be up to date before merging
    • Search and add: lint, syntax-check, yaml-validation
  7. [x] Do not allow bypassing the above settings
  8. Click Create or Save changes

4. Add README Badges

Add these badges to the top of README.md:

[![CI](https://github.com/kcaylor/rcd-cui/actions/workflows/ci.yml/badge.svg)](https://github.com/kcaylor/rcd-cui/actions/workflows/ci.yml)
![SPRS Score](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fkcaylor.github.io%2Frcd-cui%2Fbadge-data.json&query=%24.sprs_score&label=SPRS&color=auto)
![Last Assessment](https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fkcaylor.github.io%2Frcd-cui%2Fbadge-data.json&query=%24.last_assessment&label=Last%20Assessment&color=blue)

5. Trigger Initial Deployment

The deployment workflow runs automatically on merge to main. To trigger the first deployment:

  1. Create a branch: git checkout -b setup-cicd
  2. Make a small change (e.g., update README badges)
  3. Commit and push: git push -u origin setup-cicd
  4. Create a PR and wait for CI checks to pass
  5. Get approval and merge

Or manually trigger via GitHub Actions UI: 1. Go to Actions β†’ Deploy Dashboard 2. Click Run workflow β†’ Run workflow

Verification

Verify PR Checks

  1. Create a test branch with an intentional lint error: bash git checkout -b test-ci echo "- name: test" > roles/test_role/tasks/main.yml # Invalid task git add . && git commit -m "Test CI failure" git push -u origin test-ci

  2. Open a PR and verify:

  3. CI workflow triggers automatically
  4. lint job fails with clear error message
  5. Merge button is blocked

  6. Fix the error and push:

  7. All checks should pass
  8. Merge button becomes available

  9. Clean up: close PR without merging, delete test branch

Verify Dashboard Deployment

  1. After a merge to main, wait for deploy workflow to complete
  2. Navigate to https://kcaylor.github.io/rcd-cui/
  3. Verify:
  4. Dashboard loads without authentication
  5. SPRS score is displayed
  6. Control family breakdown is visible
  7. Crosswalk CSV downloads correctly

Verify Badges

  1. View the README on GitHub
  2. Verify:
  3. CI badge shows "passing" or "failing" based on last run
  4. SPRS score badge shows numeric value with color
  5. Last Assessment badge shows date

Verify Nightly Schedule

  1. Wait for 02:00 UTC or manually trigger:
  2. Go to Actions β†’ Nightly Assessment
  3. Click Run workflow

  4. After completion, verify dashboard is updated

Troubleshooting

CI Checks Not Appearing

Dashboard Not Updating

Nightly Assessment Fails in Local Dev

Badges Showing "Error"

Branch Protection Blocking Legitimate Merges

Daily Operations

Monitoring

Maintenance

URLs Reference

Resource URL
Dashboard https://kcaylor.github.io/rcd-cui/
Documentation https://kcaylor.github.io/rcd-cui/docs/
Badge Data https://kcaylor.github.io/rcd-cui/badge-data.json
Crosswalk CSV https://kcaylor.github.io/rcd-cui/docs/crosswalk.csv
CI Workflow https://github.com/kcaylor/rcd-cui/actions/workflows/ci.yml
Deploy Workflow https://github.com/kcaylor/rcd-cui/actions/workflows/deploy.yml
Nightly Workflow https://github.com/kcaylor/rcd-cui/actions/workflows/nightly.yml